Respect password manager clipboard clearing#196
Open
Lcstyle wants to merge 1 commit intocosmic-utils:masterfrom
Open
Respect password manager clipboard clearing#196Lcstyle wants to merge 1 commit intocosmic-utils:masterfrom
Lcstyle wants to merge 1 commit intocosmic-utils:masterfrom
Conversation
Skip storing clipboard entries that contain the x-kde-passwordManagerHint MIME type (set by KeePassXC and other password managers). When the source app clears the clipboard after such an entry, do not restore it from history. This allows password managers to securely expire copied passwords. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
|
I tested it locally with keepass-xc |
This was referenced Feb 6, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
x-kde-passwordManagerHintMIME type (set by KeePassXC and other password managers)Root cause
When KeePassXC copies a password, it sets a timer to clear the clipboard after a configurable delay (default 10 seconds). On Wayland, clearing the clipboard sends a
Selection { id: None }event, which the clipboard manager interprets asEmptyKeyboardand immediately restores the most recent entry from the database — which is the password that was just supposed to be cleared.How the fix works
ClipboardMessage::Dataarrives, check if the MIME types containx-kde-passwordManagerHintlast_entry_sensitive = trueClipboardMessage::EmptyKeyboardfires andlast_entry_sensitiveis true, skip the clipboard restorationThis is a well-known MIME type convention used by KeePassXC, KeePass, and other password managers on KDE/Qt systems.
Test plan
Closes #190
🤖 Generated with Claude Code